%option   reentrant
%option 8bit noyywrap
%option nounput noinput
/*%option prefix="CASppIO_"
//%option bison-locations bison-bridge
%option   warn nodefault
%option   yylineno batch debug yylineno
%option   outfile="scanner.c" header-file="scanner.h"
*/
%top{
#include <paxer/parser.h>
}

FRACTION_SLASH \xE2\x81\x84
SYM     [a-zA-Z0-9_]+
SGN     [+\-]
EXP     [eE][+\-]?[0-9]+
BDIG    [0-1]
DIG     [0-9]
ODIG    [0-7]
XDIG    [0-9A-Fa-f]
DIGS    [0-9A-Za-z]
NUM     {SGN}?{DIG}+
FLO     {SGN}?({DIG}*[.]{DIG}+{EXP}?|{DIG}+[.]?{EXP})
FLODOT  {SGN}?{DIG}+[.]
XNUM    {SGN}?0x{XDIG}+
ONUM    {SGN}?0{ODIG}+
BNUM    {SGN}?0b{BDIG}+
SUB0    \xE2\x82\x80
SUB1    \xE2\x82\x81
SUB2    \xE2\x82\x82
SUB3    \xE2\x82\x83
SUB4    \xE2\x82\x84
SUB5    \xE2\x82\x85
SUB6    \xE2\x82\x86
SUB7    \xE2\x82\x87
SUB8    \xE2\x82\x88
SUB9    \xE2\x82\x89
BASE1   \xE2\x82[\x82-\x89]
BASE2   \xE2\x82[\x81-\x85]\xE2\x82[\x80-\x89]
BASE3   \xE2\x82\x86\xE2\x82[\x80-\x82]
BASE    {BASE1}|{BASE2}|{BASE3}
INTEGER_BASE    {SGN}?{DIGS}+b{BASE}
WS      [\t ]*

ASC     [\x00-\x7f]
ASCN    [\x00-\t\v-\x7f]
U       [\x80-\xbf]
U2      [\xc2-\xdf]
U3      [\xe0-\xef]
U4      [\xf0-\xf4]

UANY    {ASC}|{U2}{U}|{U3}{U}{U}|{U4}{U}{U}{U}
UANYN   {ASCN}|{U2}{U}|{U3}{U}{U}|{U4}{U}{U}{U}
UONLY   {U2}{U}|{U3}{U}{U}|{U4}{U}{U}{U}

id    [a-zA-Z][a-zA-Z_0-9]*
int   [0-9]+
blank [ \t]

%%


%%

